From 34eda39b276aaa96acd6a939da9856b18729af10 Mon Sep 17 00:00:00 2001 From: Dongxiao Xu Date: Tue, 8 Jan 2013 10:42:19 +0100 Subject: [PATCH] nested vmx: emulate IA32_VMX_MISC MSR Use the host value to emulate IA32_VMX_MISC MSR for L1 VMM. For CR3-target value, we don't support this feature currently and set the number to zero. Signed-off-by: Dongxiao Xu Committed-by: Jan Beulich --- xen/arch/x86/hvm/vmx/vvmx.c | 3 ++- xen/include/asm-x86/hvm/vmx/vmcs.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c index 7b27d2ddc7..16fb3fd1ae 100644 --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -1462,7 +1462,8 @@ int nvmx_msr_read_intercept(unsigned int msr, u64 *msr_content) data = 0x267ff & ~X86_CR4_SMXE; break; case MSR_IA32_VMX_MISC: - gdprintk(XENLOG_WARNING, "VMX MSR %x not fully supported yet.\n", msr); + /* Do not support CR3-target feature now */ + data = host_data & ~VMX_MISC_CR3_TARGET; break; default: r = 0; diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h b/xen/include/asm-x86/hvm/vmx/vmcs.h index ef2c9c993b..3adffccac8 100644 --- a/xen/include/asm-x86/hvm/vmx/vmcs.h +++ b/xen/include/asm-x86/hvm/vmx/vmcs.h @@ -209,6 +209,8 @@ extern bool_t cpu_has_vmx_ins_outs_instr_info; #define VMX_VPID_INVVPID_ALL_CONTEXT 0x40000000000ULL #define VMX_VPID_INVVPID_SINGLE_CONTEXT_RETAINING_GLOBAL 0x80000000000ULL +#define VMX_MISC_CR3_TARGET 0x1ff0000 + #define cpu_has_wbinvd_exiting \ (vmx_secondary_exec_control & SECONDARY_EXEC_WBINVD_EXITING) #define cpu_has_vmx_virtualize_apic_accesses \ -- 2.30.2